| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Enumerations
nkInputs Namespace Reference

Encompasses all API of component NilkinsInputs. More...

## Classes
class | GamepadDevice
| A device abstracting a gamepad controller. More...
class | GamepadDeviceManager
| Manages gamepad devices available in a System. More...
struct | GamepadJoystickStatus
| Holds a gamepad's joystick's status, for now its current position. More...
class | InputSystem
| Interface with the back end input system. More...
class | KeyboardDevice
| A keyboard device. More...
class | KeyboardDeviceManager
| Manages keyboard devices available in a System. More...
class | LogManager
| Responsible for logging all messages from the component. More...
class | MouseDevice
| A mouse device. More...
class | MouseDeviceManager
| Manages the mouse devices available in the component. More...
class | System
| Main interface with the component. More...

## Enumerations
enum | GAMEPAD_DEVICE_BUTTON { GAMEPAD_DEVICE_BUTTON::DIRECTIONAL_PAD_UP = 0, GAMEPAD_DEVICE_BUTTON::DIRECTIONAL_PAD_DOWN, GAMEPAD_DEVICE_BUTTON::DIRECTIONAL_PAD_LEFT, GAMEPAD_DEVICE_BUTTON::DIRECTIONAL_PAD_RIGHT, GAMEPAD_DEVICE_BUTTON::START, GAMEPAD_DEVICE_BUTTON::BACK, GAMEPAD_DEVICE_BUTTON::LEFT_STICK, GAMEPAD_DEVICE_BUTTON::RIGHT_STICK, GAMEPAD_DEVICE_BUTTON::LEFT_SHOULDER, GAMEPAD_DEVICE_BUTTON::RIGHT_SHOULDER, GAMEPAD_DEVICE_BUTTON::PAD_A = 12, GAMEPAD_DEVICE_BUTTON::PAD_B, GAMEPAD_DEVICE_BUTTON::PAD_X, GAMEPAD_DEVICE_BUTTON::PAD_Y }
| Enumeration of the available buttons on a gamepad. More...
enum | KEY_CODE : unsigned int { KEY_ESCAPE = 1, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_0, KEY_MINUS, KEY_EQUALS, KEY_BACK, KEY_TAB, KEY_Q, KEY_W, KEY_E, KEY_R, KEY_T, KEY_Y, KEY_U, KEY_I, KEY_O, KEY_P, KEY_LBRACKET, KEY_RBRACKET, KEY_RETURN, KEY_LCONTROL, KEY_A, KEY_S, KEY_D, KEY_F, KEY_G, KEY_H, KEY_J, KEY_K, KEY_L, KEY_SEMICOLON, KEY_APOSTROPHE, KEY_GRAVE, KEY_LSHIFT, KEY_BACKSLASH, KEY_Z, KEY_X, KEY_C, KEY_V, KEY_B, KEY_N, KEY_M, KEY_COMMA, KEY_PERIOD, KEY_SLASH, KEY_RSHIFT, KEY_MULTIPLY, KEY_LMENU, KEY_SPACE, KEY_CAPITAL, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_NUMLOCK, KEY_SCROLL, KEY_NUMPAD7, KEY_NUMPAD8, KEY_NUMPAD9, KEY_SUBTRACT, KEY_NUMPAD4, KEY_NUMPAD5, KEY_NUMPAD6, KEY_ADD, KEY_NUMPAD1, KEY_NUMPAD2, KEY_NUMPAD3, KEY_NUMPAD0, KEY_DECIMAL, KEY_OEM_102, KEY_F11, KEY_F12, KEY_F13, KEY_F14, KEY_F15, KEY_KANA, KEY_ABNT_C1, KEY_CONVERT, KEY_NOCONVERT, KEY_YEN, KEY_ABNT_C2, KEY_NUMPADEQUALS, KEY_PREVTRACK, KEY_AT, KEY_COLON, KEY_UNDERLINE, KEY_KANJI, KEY_STOP, KEY_AX, KEY_UNLABELED, KEY_NEXTTRACK, KEY_NUMPADENTER, KEY_RCONTROL, KEY_MUTE, KEY_CALCULATOR, KEY_PLAYPAUSE, KEY_MEDIASTOP, KEY_VOLUMEDOWN, KEY_VOLUMEUP, KEY_WEBHOME, KEY_NUMPADCOMMA, KEY_DIVIDE, KEY_SYSRQ, KEY_RMENU, KEY_PAUSE, KEY_HOME, KEY_UP, KEY_PRIOR, KEY_LEFT, KEY_RIGHT, KEY_END, KEY_DOWN, KEY_NEXT, KEY_INSERT, KEY_DELETE, KEY_LWIN, KEY_RWIN, KEY_APPS, KEY_POWER, KEY_SLEEP, KEY_WAKE, KEY_WEBSEARCH, KEY_WEBFAVORITES, KEY_WEBREFRESH, KEY_WEBSTOP, KEY_WEBFORWARD, KEY_WEBBACK, KEY_MYCOMPUTER, KEY_MAIL, KEY_MEDIASELECT }
| Available key codes.

## Detailed Description

Encompasses all API of component NilkinsInputs.

The component allows to abstract all input capabilities for a system. Currently it supports :

- Windows through DirectInput

And allows to use devices such as :

- nkInputs::KeyboardDevice
- nkInputs::MouseDevice

With the aim of being as low latency as possible. To start with the component, check the nkInputs::System to initialize all back end related memory. Then, create devices using their dedicated managers and use them within your application, by updating them when required and inspecting their status.

## Enumeration Type Documentation

## ◆ GAMEPAD_DEVICE_BUTTON

enum nkInputs::GAMEPAD_DEVICE_BUTTON
| strong

Enumeration of the available buttons on a gamepad.

The descriptions fit more directly what is on an Xbox controller.

Enumerator
DIRECTIONAL_PAD_UP | The directional pad's up direction.
DIRECTIONAL_PAD_DOWN | The directional pad's down direction.
DIRECTIONAL_PAD_LEFT | The directional pad's left direction.
DIRECTIONAL_PAD_RIGHT | The directional pad's right direction.
START | The start button.
BACK | The back button, sometimes referred as the "select" button.
LEFT_STICK | The left stick button.
RIGHT_STICK | The right stick button.
LEFT_SHOULDER | The left button on the controller's top, in front of the trigger.
RIGHT_SHOULDER | The right button on the controllers' top, in front of the trigger.
PAD_A | The A button.
PAD_B | The B button.
PAD_X | The X button.
PAD_Y | The Y button.